﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Face8280WebSocketServer.DTO.FaceDevice
{
    public class UpdateDeviceDetailParameter : DB.Device.FaceDeviceInfo
    {
        public string OldDeviceSn { get; set; }

        public string OldToken { get; set; }

        public static UpdateDeviceDetailParameter clone(DB.Device.FaceDeviceInfo info)
        {
            return new UpdateDeviceDetailParameter
            {
                AntiDisassemblyAlarm = info.AntiDisassemblyAlarm,
                Authentication = info.Authentication,
                Bioassay = info.Bioassay,
                BlacklistAlarm = info.BlacklistAlarm,
                BodyTmpAlarm = info.BodyTmpAlarm,
                BodyTmpCompensate = info.BodyTmpCompensate,
                BodyTmpFormat = info.BodyTmpFormat,
                BodyTmpShow = info.BodyTmpShow,
                BodyTmpUse = info.BodyTmpUse,
                Brightness = info.Brightness,
                CardBytes = info.CardBytes,
                CompanyName = info.CompanyName,
                ConnectType = info.ConnectType,
                DeviceIP = info.DeviceIP,
                DeviceName = info.DeviceName,
                DevicePort = info.DevicePort,
                DeviceSn = info.DeviceSn,
                Distance = info.Distance,
                Door = info.Door,
                DoorSensor = info.DoorSensor,
                ElevatorRelay = info.ElevatorRelay,
                ElevatorUse = info.ElevatorUse,
                Exposure = info.Exposure,
                FaceComparison = info.FaceComparison,
                FaceIRThreshold = info.FaceIRThreshold,
                FaceMask = info.FaceMask,
                FireAlarm = info.FireAlarm,
                FPComparison = info.FPComparison,
                Free = info.Free,
                Grettings = info.Grettings,
                Holidays = info.Holidays,
                Id = info.Id,
                IDhcp = info.IDhcp,
                IDns = info.IDns,
                IGateway = info.IGateway,
                IIp = info.IIp,
                IllegalVerificationAlarmTimes = info.IllegalVerificationAlarmTimes,
                IllegalVerificationAlarmUse = info.IllegalVerificationAlarmUse,
                IMac = info.IMac,
                IMask = info.IMask,
                IR = info.IR,
                ISsl = info.ISsl,
                ITcp = info.ITcp,
                IUdp = info.IUdp,
                IWebsocket = info.IWebsocket,
                Language = info.Language,
                Light = info.Light,
                Luminance = info.Luminance,
                MakerDate = info.MakerDate,
                MakerName = info.MakerName,
                MakerUrl = info.MakerUrl,
                MaskThreshold = info.MaskThreshold,
                MenuPassword = info.MenuPassword,
                OpenTimeoutAlarm = info.OpenTimeoutAlarm,
                OpenTimeoutAlarmTimeout = info.OpenTimeoutAlarmTimeout,
                OpenTimeoutAlarmUse = info.OpenTimeoutAlarmUse,
                PasswordAlarmMode = info.PasswordAlarmMode,
                PasswordAlarmPwd = info.PasswordAlarmPwd,
                PasswordAlarmUse = info.PasswordAlarmUse,
                PSAdmin = info.PSAdmin,
                PSCard = info.PSCard,
                PSFace = info.PSFace,
                PSFP = info.PSFP,
                PSPasword = info.PSPasword,
                PSPerson = info.PSPerson,
                QRCodePath = info.QRCodePath,
                Relay = info.Relay,
                ReleaseTime = info.ReleaseTime,
                RemindDay = info.RemindDay,
                RemindUse = info.RemindUse,
                RepeatInterval = info.RepeatInterval,
                RepeatMode = info.RepeatMode,
                RepeatUse = info.RepeatUse,
                RSAlarm = info.RSAlarm,
                RSDoor = info.RSDoor,
                RSRecord = info.RSRecord,
                RSSystem = info.RSSystem,
                SaveExternalvisitors = info.SaveExternalvisitors,
                SavePhoto = info.SavePhoto,
                SensorAlarmTime = info.SensorAlarmTime,
                SensorAlarmUse = info.SensorAlarmUse,
                ShortMsg = info.ShortMsg,
                Speek = info.Speek,
                StrangerVoice = info.StrangerVoice,
                Time = info.Time,
                TimeGroups = info.TimeGroups,
                TimeZone = info.TimeZone,
                TimingOpen = info.TimingOpen,
                TimingOpenTime = info.TimingOpenTime,
                TimingOpenUse = info.TimingOpenUse,
                Token = info.Token,
                UseCloseAlarm = info.UseCloseAlarm,
                VFace = info.VFace,
                VFp = info.VFp,
                Volume = info.Volume,
                VVer = info.VVer,
                WGOrder = info.WGOrder,
                WGType = info.WGType,
                WGUse = info.WGUse,
                WiFiGateway = info.WiFiGateway,
                WiFiIp = info.WiFiIp,
                WiFiMask = info.WiFiMask,
                WiFiName = info.WiFiName,
                WiFiPassword = info.WiFiPassword,
                WiFiUse = info.WiFiUse,
                IKeepalive = info.IKeepalive,
                //WSKeeptime = info.WSKeeptime,
                //WSPort = info.WSPort,
                //WSReconnectTime = info.WSReconnectTime,
                //WSServer = info.WSServer,
                //WSServerSSLCert = info.WSServerSSLCert,
                //WSStatus = info.WSStatus,
                //WSToken = info.WSToken,
                LinuxLoginSwitch = info.LinuxLoginSwitch,
                WebLoginSwitch = info.WebLoginSwitch
            };
        }
    }
}
